ol, ul {
    list-style: none;
}
ol, .footer ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
ol li {
  position: relative;
  counter-increment: my-counter;
    line-height: 14px;
    text-align: center;
    padding: 15px;
  flex: 1;
}
ol li:before {
  content: counter(my-counter);
    position: relative;
    height: 30px;
    width: 30px;
    display: block;
    margin: auto;
    color: #ffffff;
    border: 1px solid #fbb134 ;
    border-radius: 50%;
    line-height: 30px;
    text-align: center;
    margin-bottom: 10px;
    z-index: 2;
    background: #fbb134;
}
ol li.marked:before {
  background: #fbb134;
  color:white;
}
ol li:after {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    background: #fbb134;
    top: 30px;
    left: 0;
    z-index: 1;
}
ol li.first:after {
  left:50%;
}
ol li.last:after {
  width:50%;
}
ol li span {
  text-align: center;
  display: block;
  line-height: 125%;
}
.bgsemitransparentcolor1 ol li:before {
  color: darkslategrey;
  border: 1px solid darkslategrey;
}
.bgsemitransparentcolor1 ol li.marked:before {
  background: darkslategrey;
  color:white;
}
.bgsemitransparentcolor1 ol li:after {
  background: darkslategrey;
}
.bgsemitransparentcolor1 ol li span {
  color:darkslategrey;
}
  @media only screen and (max-width: 768px) {
  ol {
    flex-direction: column;
  }
  ol li {
    margin-bottom:0;
  }
  ol li:before {
    float: left;
  }
  ol li:after {
    height:100%;
    width:1px;
    left:30px;
  }
  ol li.first:after {
    width:1px;
    top:50%;
    left:30px;
  }
  ol li.last:after {
    height:0;
    width:1px;
  }
  ol li span {
    text-align: left;
    display: table;
    padding-left: 20px;
  }
}
